Extending STL Maps Using LBSTs

نویسنده

  • Leonor Frias
چکیده

Associative containers are basic generic classes of the C++ standard library. Access to the elements can be done by key or iterator, but not by rank. This paper presents a new implementation of the map class, which extends the Standard with the ability to support efficient direct access by rank without using extra space. This is achieved using LBST trees. This document reports on the algorithmic engineering of this implementation as well as, experimental results that show its competitive performance compared to the widespread GCC library map implementation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Approaches to Parallel Generic Programming in the STL Framework

While tremendous progress has been made in developing parallel algorithms, there has not been as much success in developing language support for programming these parallel algorithms. The C++ Standard Template Library (STL) provides an opportunity for extending the concept of generic programming to the parallel realm. This paper discusses the basic requirements for extending STL to provide supp...

متن کامل

OMB No . 0704 - 0188

Security-typed languages (STLs) are powerful tools for provably implementing policy in applications. The programmer maps policy onto programs by annotating types with information flow labels, and the STL compiler guarantees that data always obeys its label as it flows within an application. As data flows into or out of an application, however, a runtime system is needed to mediate between the i...

متن کامل

Subtitle Channels : Runtime System Infrastructure for Security - Typed Languages

Security-typed languages (STLs) are powerful tools for provably implementing policy in applications. The programmer maps policy onto programs by annotating types with information flow labels, and the STL compiler guarantees that data always obeys its label as it flows within an application. As data flows into or out of an application, however, a runtime system is needed to mediate between the i...

متن کامل

Deriving Non-determinism from Conjunction and Disjunction

In this paper, we show that the non-deterministic choice “+”, which was proposed as a primitive operator in Synchronization Tree Logic (STL for short) can be defined essentially by conjunction and disjunction in the μ-calculus (μM for short). This is obtained by extending the μcalculus with the non-deterministic choice “+” (denoted by μM) and then showing that μM can be translated into μM. Furt...

متن کامل

A Concept Design for the STL

This report presents a concept design for the algorithms part of the STL and outlines the design of the supporting language mechanism. Both are radical simplifications of what was proposed in the C++0x draft. In particular, this design consists of only 41 concepts (including supporting concepts), does not require concept maps, and (perhaps most importantly) does not resemble template metaprogra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005